home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / lib / python2.5 / email / encoders.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-29  |  2KB  |  81 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.5)
  3.  
  4. '''Encodings and related functions.'''
  5. __all__ = [
  6.     'encode_7or8bit',
  7.     'encode_base64',
  8.     'encode_noop',
  9.     'encode_quopri']
  10. import base64
  11. from quopri import encodestring as _encodestring
  12.  
  13. def _qencode(s):
  14.     enc = _encodestring(s, quotetabs = True)
  15.     return enc.replace(' ', '=20')
  16.  
  17.  
  18. def _bencode(s):
  19.     if not s:
  20.         return s
  21.     
  22.     hasnewline = s[-1] == '\n'
  23.     value = base64.encodestring(s)
  24.     if not hasnewline and value[-1] == '\n':
  25.         return value[:-1]
  26.     
  27.     return value
  28.  
  29.  
  30. def encode_base64(msg):
  31.     """Encode the message's payload in Base64.
  32.  
  33.     Also, add an appropriate Content-Transfer-Encoding header.
  34.     """
  35.     orig = msg.get_payload()
  36.     encdata = _bencode(orig)
  37.     msg.set_payload(encdata)
  38.     msg['Content-Transfer-Encoding'] = 'base64'
  39.  
  40.  
  41. def encode_quopri(msg):
  42.     """Encode the message's payload in quoted-printable.
  43.  
  44.     Also, add an appropriate Content-Transfer-Encoding header.
  45.     """
  46.     orig = msg.get_payload()
  47.     encdata = _qencode(orig)
  48.     msg.set_payload(encdata)
  49.     msg['Content-Transfer-Encoding'] = 'quoted-printable'
  50.  
  51.  
  52. def encode_7or8bit(msg):
  53.     '''Set the Content-Transfer-Encoding header to 7bit or 8bit.'''
  54.     orig = msg.get_payload()
  55.     if orig is None:
  56.         msg['Content-Transfer-Encoding'] = '7bit'
  57.         return None
  58.     
  59.     
  60.     try:
  61.         orig.encode('ascii')
  62.     except UnicodeError:
  63.         charset = msg.get_charset()
  64.         if charset:
  65.             pass
  66.         output_cset = charset.output_charset
  67.         if output_cset and output_cset.lower().startswith('iso-2202-'):
  68.             msg['Content-Transfer-Encoding'] = '7bit'
  69.         else:
  70.             msg['Content-Transfer-Encoding'] = '8bit'
  71.     except:
  72.         output_cset.lower().startswith('iso-2202-')
  73.  
  74.     msg['Content-Transfer-Encoding'] = '7bit'
  75.  
  76.  
  77. def encode_noop(msg):
  78.     '''Do nothing.'''
  79.     pass
  80.  
  81.